Release 10.1A: OpenEdge Development:
Progress 4GL Reference
LOOKUP function
Returns an integer giving the position of an expression in a list. Returns a 0 if the expression is not in the list.
Syntax
expressionA constant, field name, variable name, or expression that results in a character value that you want to look up within a list of character expressions. If the value of
expressionis the Unknown value (?), the result of the LOOKUP function is the Unknown value (?).listA character expression that contains the expression you name with the
expressionargument. Each entry in the list is separated with a delimiter. The list can be a variable of type CHARACTER or LONGCHAR. Iflistcontains the Unknown value (?), LOOKUP returns the Unknown value (?).characterA delimiter you define for the list. The default is a comma. This allows the LOOKUP function to operate on non-comma-separated lists.
ExamplesThis procedure prompts the user for a New England state. The LOOKUP function tests the value against the list of states stored in the stlist variable. If there is no match (the result is 0), the procedure displays a message. Otherwise, the procedure prompts the user for another New England state.
The following example uses a different delimiter, which list all fields that have “
sls” or “sales” as words in their standard Dictionary labels:
Notes
- If
expressioncontains a delimiter, LOOKUP returns the beginning of a series of entries inlist. For example, LOOKUP("a,b,c","x,a,b,c") returns a 2.- Most character comparisons are case insensitive in Progress. By default, upper-case and lower-case characters have the same sort value. However, you can define fields and variables as case sensitive (although it is not advised, unless strict ANSI SQL adherence is required). If the
expressionorlistis defined as case sensitive, the comparison between them is also case sensitive and “Smith” does not equal “smith”.- The LOOKUP function is double-byte enabled. The specified
expressioncan yield a string value that contains double-byte characters and thecharacterdelimiter can be a double-byte character.See also
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |